package com.itheima.config;

import com.alibaba.druid.pool.DruidDataSource;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;

public class JdbcConfig {

    @Value("${jdbc.driver}")
    private String driverClassName;
    @Value("${jdbc.url}")
    private String url;
    @Value("${jdbc.username}")
    private String username;
    @Value("${jdbc.password}")
    private String password;

    /*
        <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
            <property name="driverClassName" value="${jdbc.driver}"/>
            <property name="url" value="${jdbc.url}"/>
            <property name="username" value="${jdbc.username}"/>
            <property name="password" value="${jdbc.password}"/>
        </bean>
        在配置类中配置第三方bean，步骤如下：
        【第一步】定义一个方法，方法的返回值就是要添加到spring容器中的对象，这个方法会被spring调用
        【第二步】在方法中创建bean对象，设置属性值
        【第三步】在方法上使用@Bean注解，表示将方法的返回值添加到spring容器中
    */

    @Bean("dataSource") //参数表示bean对象的名称,如果不写名称，方法名首字母小写就是默认的名称
    public DruidDataSource createDruidDataSource(){
        DruidDataSource dataSource=new DruidDataSource();
        dataSource.setDriverClassName(driverClassName);
        dataSource.setUrl(url);
        dataSource.setUsername(username);
        dataSource.setPassword(password);
        return dataSource;
    }

    /*@Bean("dataSource2") //参数表示bean对象的名称,如果不写名称，方法名首字母小写就是默认的名称
    public DruidDataSource createDruidDataSource2(){
        DruidDataSource dataSource=new DruidDataSource();
        dataSource.setDriverClassName(driverClassName);
        dataSource.setUrl(url);
        dataSource.setUsername(username);
        dataSource.setPassword(password);
        return dataSource;
    }*/
}
